package cn.com.dcsgo.mapper;

import cn.com.dcsgo.domain.Prod;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 针对表【prod(商品表)】的数据库操作Mapper
 *
 * @author Dcsgo
 * @since 2025-10-14 08:45:29
 */
public interface ProdMapper extends BaseMapper<Prod> {

    /**
     * 批量更新商品状态
     *
     * @param prodIds 商品ID列表
     * @param status  状态
     * @return 受影响的行数
     */
    int updateStatusByIds(@Param("prodIds") List<Long> prodIds, @Param("status") int status);

    /**
     * 分页查询状态为正常的商品数据
     *
     * @param offset     分页起始位置
     * @param pageSize   分页大小
     * @param updateTime 数据更新时间
     * @return 如果 updateTime 不为 null 返回更新时间晚于 updateTime 的数据，反之返回全部数据
     */
    List<Prod> getByPage(@Param("offset") int offset, @Param("pageSize") int pageSize, @Param("updateTime") Date updateTime);

    /**
     * 更新产品库存
     *
     * @param prodId 产品ID
     * @param count  扣减库存数量
     * @return 受影响的行数
     */
    int updateStock(@Param("prodId") Long prodId, @Param("count") Integer count);
}




